package cn.edu.njnu.opengmpback.resource.service;


import cn.edu.njnu.opengmpback.common.utils.JsonResult;
import cn.edu.njnu.opengmpback.resource.entity.ResourceData;
import cn.edu.njnu.opengmpback.resource.entity.UserData;
import cn.edu.njnu.opengmpback.resource.entity.dto.*;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;

public interface ResCenterService {

    JsonResult saveResourceData(CreateResourceDataDTO createResourceDataDTO, MultipartFile visualFile/*, MultipartFile imgFile*/);

    JsonResult getResourceDataList(ResourcePageDTO resourcePageDTO);

    JsonResult deleteResourceData(String resourceDataId);

    JsonResult saveResourceSmallFile(CreateResourceSmallFileDTO createResourceSmallFileDTO, MultipartFile smallFile);

    JsonResult saveResourceItemFile(CreateResourceSmallFileDTO createResourceSmallFileDTO, MultipartFile imgFile);

    JsonResult deleteResourceSmallFile(String resourceSmallFileId);

    JsonResult createResourceModel(CreateResourceModelDTO createResourceModelDTO, MultipartFile imgFile);

    JsonResult getResourceModelList(ResourcePageDTO resourcePageDTO);

    JsonResult getResourceModelById(String resourceModelId);

    JsonResult saveFiletoUserSpace(String folderName,List<ResourceData> resourceDataList, String userId);

    JsonResult resDataView(String id);

    JsonResult getResByDataView();

    JsonResult deleteResourceModel(String resourceModelId);

    JsonResult createResourceMethod(CreateResourceMethodDTO createResourceMethodDTO, MultipartFile imgFile);

    JsonResult getResourceMethodList(ResourcePageDTO resourcePageDTO);

    JsonResult saveModeltoUserSpace(String id, String userId);

    JsonResult getFromPortalModel();

    JsonResult saveModeltoWorkSpace(String id, String modelId, String userId);

    JsonResult queryModelItemFuzzy(String searchText);

    JsonResult queryResourceMethodFuzzy(String searchText);

    JsonResult getFromMethod();

    JsonResult getPublicUserDataList(ResourcePageDTO resourcePageDTO);

    JsonResult saveUserFiletoUserSpace(String folderName, List<UserData> dataList, String userId);
}
